home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zgeqpf.z / zgeqpf
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))                                                          ZZZZGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZGEQPF - compute a QR factorization with column pivoting of a complex M-
  10.      by-N matrix A
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZGEQPF( M, N, A, LDA, JPVT, TAU, WORK, RWORK, INFO )
  14.  
  15.          INTEGER        INFO, LDA, M, N
  16.  
  17.          INTEGER        JPVT( * )
  18.  
  19.          DOUBLE         PRECISION RWORK( * )
  20.  
  21.          COMPLEX*16     A( LDA, * ), TAU( * ), WORK( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      ZGEQPF computes a QR factorization with column pivoting of a complex M-
  25.      by-N matrix A: A*P = Q*R.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      M       (input) INTEGER
  30.              The number of rows of the matrix A. M >= 0.
  31.  
  32.      N       (input) INTEGER
  33.              The number of columns of the matrix A. N >= 0
  34.  
  35.      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
  36.              On entry, the M-by-N matrix A.  On exit, the upper triangle of
  37.              the array contains the min(M,N)-by-N upper triangular matrix R;
  38.              the elements below the diagonal, together with the array TAU,
  39.              represent the orthogonal matrix Q as a product of min(m,n)
  40.              elementary reflectors.
  41.  
  42.      LDA     (input) INTEGER
  43.              The leading dimension of the array A. LDA >= max(1,M).
  44.  
  45.      JPVT    (input/output) INTEGER array, dimension (N)
  46.              On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted to
  47.              the front of A*P (a leading column); if JPVT(i) = 0, the i-th
  48.              column of A is a free column.  On exit, if JPVT(i) = k, then the
  49.              i-th column of A*P was the k-th column of A.
  50.  
  51.      TAU     (output) COMPLEX*16 array, dimension (min(M,N))
  52.              The scalar factors of the elementary reflectors.
  53.  
  54.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  55.  
  56.      RWORK   (workspace) DOUBLE PRECISION array, dimension (2*N)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))                                                          ZZZZGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      INFO    (output) INTEGER
  75.              = 0:  successful exit
  76.              < 0:  if INFO = -i, the i-th argument had an illegal value
  77.  
  78. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  79.      The matrix Q is represented as a product of elementary reflectors
  80.  
  81.         Q = H(1) H(2) . . . H(n)
  82.  
  83.      Each H(i) has the form
  84.  
  85.         H = I - tau * v * v'
  86.  
  87.      where tau is a complex scalar, and v is a complex vector with v(1:i-1) =
  88.      0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i).
  89.  
  90.      The matrix P is represented in jpvt as follows: If
  91.         jpvt(j) = i
  92.      then the jth column of P is the ith canonical unit vector.
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.